package com.fowo.api.controller.purchase.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fowo.api.entity.WarehouseBinProducts;
import com.fowo.api.model.warehouse.bin.products.WarehouseBinProductsItemVo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import java.util.List;

@Getter
@Setter
@Schema(title = "仓位 列表项")
public class WarehouseBinItemDVo {
    /**
     * 所属仓库
     */
    @Schema(title = "所属仓库")
    private Long parentWarehouse;

    /**
     * 关联所属仓库的仓库名称
     */
    @Schema(title = "关联所属仓库的仓库名称")
    private String parentWarehouseName;

    /**
     * 编号
     */
    @Schema(title = "编号")
    private Long id;

    /**
     * 仓库id
     */
    @Schema(title = "仓库id")
    private Long warehouseId;

    /**
     * 关联仓库id的仓库名称
     */
    @Schema(title = "关联仓库id的仓库名称")
    private String warehouseIdName;

    /**
     * 仓位
     */
    @Schema(title = "仓位")
    private String storageBin;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Schema(title = "创建时间")
    private java.util.Date createTime;

    /**
     * 创建人
     */
    @Schema(title = "创建人")
    private Long createUser;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Schema(title = "更新时间")
    private java.util.Date lastUpdateTime;

    /**
     * 更新人
     */
    @Schema(title = "更新人")
    private Long lastUpdateUser;

    /**
     * 删除标记
     */
    @Schema(title = "删除标记")
    private Boolean delFlag;

    /**
     * 总容量
     */
    @Schema(title = "总容量")
    private Long capacity;

    /**
     * 剩余容量
     */
    @Schema(title = "剩余容量")
    private Long surplusCapacity;

    /**
     * 仓位状态
     */
    @Schema(title = "仓位状态")
    private String status;

    /**
     * sku种类上限
     */
    @Schema(title = "sku种类上限")
    private Integer availableSku;

    /**
     * 已经绑定的数量
     */
    @Schema(title = "已经绑定的数量")
    private Integer usedQuantity;

    /**
     * 仓位类型
     */
    @Schema(title = "仓位类型")
    private String type;

    /**
     * 使用状态
     */
    @Schema(title = "使用状态")
    private String useType;

    /**
     * 工作流状态
     */
    @Schema(title = "工作流状态")
    private Integer wfStatus;

    @Schema(title = "产品信息")
    private List<WarehouseBinProducts> products;

}
